home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / bbsdoors / ckit258.zip / PCBDEMO.H < prev    next >
C/C++ Source or Header  |  1993-06-01  |  36KB  |  718 lines

  1. /****************************************************************************
  2.  *   FILE PCBDEMO.H                                                         *
  3.  *   Created 01-MAY-1993            Rickie W. Belitz                        *
  4.  *                                  820 Brentwood Drive                     *
  5.  *                                  Maryville, Tennessee  37804             *
  6.  *                                  BBS (615) 690-8231                      *
  7.  *                                      (615) 690-7968                      *
  8.  *                                      (615) 690-7913                      *
  9.  *                                                                          *
  10.  ****************************************************************************/
  11. #include    <stdio.h>
  12. #include    <stdlib.h>
  13. #include    <fcntl.h>
  14. #include    <memory.h>
  15. #include    <dos.h>
  16. #include    <share.h>
  17. #include    <string.h>
  18. #include    <malloc.h>
  19. #include    <process.h>
  20. #include    "oldckit.h"          /* For version 2.x CKit           */
  21. #include    "ckit.h"             /* Include CKIT Header file!      */
  22. #pragma check_stack (off)
  23.  
  24. #define     BUFFER_SIZE   2048
  25. /************************************************************************
  26.  *       Globals                                                        *
  27.  ***********************************************************************/
  28. char    progname[21] = "PCBDemo";       /* Program name for status line     */
  29. char    pathname[80];         /*  general purpose  filename/path       */
  30. char    *pathptr;             /*  general purpose path pointer         */
  31. short   OPENED;               /* Flag to know if open_door has been called  */
  32. short   CLOSED;              /* Flag to know if close_door has beeb called */
  33.  
  34. /************************************************************************
  35.  *  Function prototypes                                                 *
  36.  ***********************************************************************/
  37. void    display_conferences(void);
  38. void    shut_down(void);      /* Shuts door down if normal or error occurs. */
  39. short   read_pcbdat(void);
  40. BYTE    get_mapbit(unsigned, BYTE *);
  41. void    set_mapbit(unsigned, BYTE, BYTE, BYTE *);
  42. char *  create_buffer(size_t);
  43. short   open_file(char *);
  44. size_t  read_record(short, BYTE *, size_t);
  45. short   parse_to_C(char *, size_t);
  46. void    copy_buffer(char *, char **, char *);
  47. char *  str_move(char *, unsigned char, char *);
  48. /*****************************************************************************
  49.  *  If desired, optional custom log off messages.                            *
  50.  *  If not used, the library will use it's internal defaults.                *
  51.  *****************************************************************************/
  52. char    option0[] = "Normal Quit to BBS msg\n";
  53. char    option1[] = "CARRIER DROPPED! msg\n";
  54. char    option2[] = "Keyboard Timeout msg\n";
  55. char    option3[] = "Sysop return request msg\n";
  56. char    option4[] = "System time expired msg\n";
  57. char    option5[] = "Goobye, hangup msg\n";
  58.  
  59. /*****************************************************************************
  60.  *  If desired, optional general message used.                               *
  61.  *  If not used, the library will use it's internal defaults.                *
  62.  *****************************************************************************/
  63. char    ckmsg0[] = "Screen Display on Message";
  64. char    ckmsg1[] = "Time Adjusted due to event message";
  65. char    ckmsg2[] = "< Press ENTER to Continue > message";
  66. char    ckmsg3[] = "Sysop Chat Active Message";
  67. char    ckmsg4[] = "Sysop Chat End Message";
  68. char    ckmsg5[] = "Sysop Exited to DOS Message";
  69. char    ckmsg6[] = "Sysop Returned from DOS Message";
  70. char    ckmsg7[] = "(Enter=none)?) ";
  71. char    ckmsg8[] = "(Enter=yes) ";
  72. char    ckmsg9[] = "(Enter=no) ";
  73. char    ckmsg10[] = " (Enter) or (Y)es, (N)o, (NS)nonstop? ";
  74. char    ckmsg11[] = "More: ";
  75.  
  76. /*****************************************************************************
  77.  *  Create array of pointers to our custom log off messages                  *
  78.  *****************************************************************************/
  79. static  char    *logoffs[6] = {
  80.     option0,
  81.     option1,
  82.     option2,
  83.     option3,
  84.     option4,
  85.     option5,
  86. };
  87.  
  88. /*****************************************************************************
  89.  *  Create array of pointers to our custom general messages                  *
  90.  *****************************************************************************/
  91. static  char    *ckit_msgs[12] = {
  92.     ckmsg0,
  93.     ckmsg1,
  94.     ckmsg2,
  95.     ckmsg3,
  96.     ckmsg4,
  97.     ckmsg5,
  98.     ckmsg6,
  99.     ckmsg7,
  100.     ckmsg8,
  101.     ckmsg9,
  102.     ckmsg10,
  103.     ckmsg11
  104. };
  105.  
  106. /************************************************************************
  107.  *               Define  Pcboard .DAT file  (14.5)                      *
  108.  ***********************************************************************/
  109. typedef struct  pcbdattyp {
  110. char        pcb_version[52];        /* PCBoard version                        */
  111. char        sysop_name[17];         /* Sysop display name                     */
  112. char        sysop_pwrd[14];         /* Sysop password                         */
  113. char        use_realname[4];        /* Use real name for sysop?               */
  114. char        use_graphics[4];        /* Use graphics when local sysop login    */
  115. char        comment_level[5];       /* Level need to read comments            */
  116. char        readall_level[5];       /* Level needed to read all mail          */
  117. char        sysop_level[5];         /* Sysop access level                     */
  118. char        msgcopy_level[5];       /* Level needed to move/copy messages     */
  119. char        callerlog_level[5];     /* Level needed for veiw log              */
  120. char        viewusers_level[5];     /* Level needed to veiw users             */
  121. char        msgpack_level[5];       /* Level needed to pack messages          */
  122. char        recover_level[5];       /* Level needed to recover a message      */
  123. char        header_level[5];        /* Level needed to list msg headers       */
  124. char        system_level[5];        /* Level needed to veiw system files      */
  125. char        maintenance_level[5];   /* Level needed for user maintenance      */
  126. char        packusers_level[5];     /* Level needed for pack users file       */
  127. char        remote_level[5];        /* Level needed for remote drop to DOS    */
  128. char        shell_level[5];         /* Level needed for DOS shell             */
  129. char        node_level[5];          /* Level needed to view other nodes       */
  130. char        logoff_node_level[5];   /* Level needed to logoff alternate node  */
  131. char        view_nodelog_level[5];  /* Level needed to view alt nodes log     */
  132. char        dropnode_level[5];      /* Level needed to drop alt node to DOS   */
  133. char        helpfiles[33];          /* Path/name of helpfiles                 */
  134. char        security_files[33];     /* Path/name of security files            */
  135. char        nodechat_files[33];     /* Path/name of node chat files           */
  136. char        pcbtext[33];            /* Pathname/name of PCBTEXT file          */
  137. char        index_file[33];         /* Pathname/name of index_file file       */
  138. char        users_file[33];         /* Pathname/name of users_file file       */
  139. char        caller_log[33];         /* Pathname/name of caller_log file       */
  140. char        cnames_file[33];        /* Pathname/name of cnames_file file      */
  141. char        pwrd_file[33];          /* Pathname/name of pwrd_file file        */
  142. char        fsec_file[33];          /* Pathname/name of fsec_file file        */
  143. char        upsec_file[33];         /* Pathname/name of upsec_file file       */
  144. char        tcan_file[33];          /* Pathname/name of tcan_file file        */
  145. char        welcome_file[33];       /* Pathname/name of welcome_file file     */
  146. char        newuser_file[33];       /* Pathname/name of newuser_file file     */
  147. char        closed_file[33];        /* Pathname/name of closed_file file      */
  148. char        warning_file[33];       /* Pathname/name of warning_file file     */
  149. char        expired_file[33];       /* Pathname/name of expired_file file     */
  150. char        usernet_file[33];       /* Pathname/name of usernet_file file     */
  151. char        cnfn_menu[33];          /* Pathname/name of cnfn_menu file        */
  152. char        newask_file[33];        /* Pathname/name of newask_file file      */
  153. char        newreg_file[33];        /* Pathname/name of newreg_file file      */
  154. char        pcbprot_file[33];       /* Pathname/name of pcbprot_file file     */
  155. char        dloadtxt_file[33];      /* Pathname/name of dloadtxt_file file    */
  156. char        logoff_scr[33];         /* Pathname/name of logoff_scr file       */
  157. char        logoff_answers[33];     /* Pathname/name of logoff_answrs file    */
  158. char        pcbml_file[33];         /* Pathname/name of pcbml_file file       */
  159. char        chat_topic_file[33];    /* Pathname/name of chat_topic_file file  */
  160. char        carrier_time[4];        /* Seconds to wait on carrier             */
  161. char        comport[6];             /* COM port in use or NONE                */
  162. char        open_baud[8];           /* Opening baud rate                      */
  163. char        lock_baud[4];           /* Lock baud rate?                        */
  164. char        modem_init[42];         /* Modem initialization string            */
  165. char        modem_offhk[33];        /* Modem off-hook string                  */
  166. char        cts_rts_check[4];       /* Enable CTS/RTS checking                */
  167. char        hayes_modem[4];         /* Using Hayes V-series or Ultra          */
  168. char        fastcomm_modem[4];      /* Using FASTCOMM modem                   */
  169. char        rst_modem[4];           /* Reset modem during re-cycle            */
  170. char        modem_offhook[4];       /* Take modem off hook during re-cycle    */
  171. char        pad[4];                 /* Useing PAD                             */
  172. char        ring_detect[4];         /* Answer on true ring detect             */
  173. char        allow_7E1[4];           /* Allow 7-E-1 callers                    */
  174. char        allow_low_baud[4];      /* Allow low baud rates            */
  175. char        low_baud_start[7];      /* Start time for lower bauds      */
  176. char        low_baud_end[7];        /* End time for lower bauds        */
  177. char        mesage_scan[4];         /* Disable message scan            */
  178. char        scr_saver[4];           /* Disable 3 minute screen saver   */
  179. char        reg_edit[4];            /* Disabe registration edits       */
  180. char        high_ASCII[4];          /* Disable higher ASCII codes >127 */
  181. char        quick_logon[4];         /* Disable quick logon             */
  182. char        disable_pwrd[4];        /* Disable pwrd check for DOS drop */
  183. char        multi_lingual[4];       /* Multi-lingual operation         */
  184. char        full_update[4];         /* Disable full record updating    */
  185. char        closed_board[4];        /* Run as a closed board           */
  186. char        non_graphic[4];         /* Run in non-graphic mode         */
  187. char        exit_DOS[4];            /* Exit to DOS after each call     */
  188. char        display_city[4];        /* Display city in node display    */
  189. char        snow_chk[4];            /* Screen snow checking            */
  190. char        subscription_mode[4];   /* Subscription mode of operation  */
  191. char        ESC_code[4];            /* Allow ESC codes in message      */
  192. char        carbon_msgs[4];         /* Allow carbon copy of messages   */
  193. char        validate_msg[4];        /* Validate message TO:            */
  194. char        not_used[4];            /* No longer used                  */
  195. char        daily_time_on[4];       /* Enforce daily time limit        */
  196. char        NEWS_disaply[4];        /* How to display NEWS file        */
  197. char        disable_CTS[4];         /* Disable CTS drop during write   */
  198. char        keyboard_tmr[4];        /* Enable keyboard timeouts        */
  199. char        Network_syst[4];        /* Running a network/multitasker   */
  200. char        Node_number[4];         /* Node number of system           */
  201. char        Network_tmr[4];         /* Network timeout                 */
  202. char        Node_chattmr[4];        /* Node chat frequency             */
  203. char        board_name[65];         /* Name of BBS running             */
  204. char        pcbview_file[33];       /* Path/filename of PCBVIEW        */
  205. char        cmpr_method[6];         /* Filename EXT for compression    */
  206. char        function_key1[62];      /* Function key SHIFT F1                  */
  207. char        function_key2[62];      /* Function key SHIFT F2                  */
  208. char        function_key3[62];      /* Function key SHIFT F3                  */
  209. char        function_key4[62];      /* Function key SHIFT F4                  */
  210. char        function_key5[62];      /* Function key SHIFT F5                  */
  211. char        function_key6[62];      /* Function key SHIFT F6                  */
  212. char        function_key7[62];      /* Function key SHIFT F7                  */
  213. char        function_key8[62];      /* Function key SHIFT F8                  */
  214. char        function_key9[62];      /* Function key SHIFT F9                  */
  215. char        function_key10[62];     /* Function key SHIFT F10                 */
  216. char        not_used3[4];           /* Not used                               */
  217. char        high_conference[8];     /* Highest conference desired             */
  218. char        max_lines[5];           /* Maximum lines used in msg editor       */
  219. char        default_color[4];       /* Default ANSI color in use              */
  220. char        default_intensity[3];   /* Default intensity mode                 */
  221. char        event_active[4];        /* Event active                           */
  222. char        event_start[7];         /* Event start time                       */
  223. char        suspend_mins[4];        /* Minutes to suspend activity prior      */
  224. char        upload_allowed[4];      /* Uploads allowed before event           */
  225. char        slide_event[4];         /* Slide the event time                   */
  226. char        upload_buffer[4];       /* Upload buffer size                     */
  227. char        disable_check[4];       /* Diable Drive size check                */
  228. char        printer_port[3];        /* Printer port number                    */
  229. char        disable_bytes[6];       /* Bytes to disable uploads               */
  230. char        abandon_level[5];       /* Level to abandon conference            */
  231. char        bulletin_level[5];      /* Level to read bulletins                */
  232. char        comment_msg_level[5];   /* Level to leave a sysop comment         */
  233. char        dload_level[5];         /* Level to download a file               */
  234. char        message_level[5];       /* Level to enter a message               */
  235. char        file_level[5];          /* Level for F)ile directory              */
  236. char        not_used2[4];
  237. char        help_level[5];          /* Level for help command                 */
  238. char        initial_level[5];       /* Level for abandon conference           */
  239. char        join_level[5];          /* Level for join command                 */
  240. char        kill_level[5];          /* Level for kill command                 */
  241. char        locate_level[5];        /* Level for locate command               */
  242. char        mode_level[5];          /* Level for mode command                 */
  243. char        filescan_level[5];      /* Level for filescan command             */
  244. char        operator_page_level[5]; /* Level for operator_page command        */
  245. char        page_length_level[5];   /* Level for page_length command          */
  246. char        quick_scan_level[5];    /* Level for quick_scan command           */
  247. char        read_msg_level[5];      /* Level for read_msg command             */
  248. char        script_level[5];        /* Level for script command               */
  249. char        xfer_protocol[5];       /* Level for transfer protocol command    */
  250. char        upload_level[5];        /* Level for upload command               */
  251. char        view_level[5];          /* Level for view command                 */
  252. char        write_level[5];         /* Level for write command                */
  253. char        expert_level[5];        /* Level for expert command               */
  254. char        your_level[5];          /* Level for your command                 */
  255. char        zippy_level[5];         /* Level for zippy command                */
  256. char        door_level[5];          /* Level for door command                 */
  257. char        chat_level[5];          /* Level for chat command                 */
  258. char        register_level[5];      /* Level for register command             */
  259. char        refused_level[5];       /* Level for refused command              */
  260. char        users_level[5];         /* Level for users command                */
  261. char        who_level[5];           /* Level for who command                  */
  262. char        batch_level[5];         /* Level for batch file xfer cmd          */
  263. char        color_defaults[34];     /* Path\NAME of color file (PCFILER.DEF)  */
  264. char        lowest_baud[8];         /* Lowest baud rate allowed               */
  265. char        modem_delay[3];         /* Modem delay during re-cycle            */
  266. char        number_rings[3];        /* Number of rings to answer              */
  267. char        IRQ_number[5];          /* IRQ number of com port in use          */
  268. char        port_base[5];           /* Base address of port in use            */
  269. char        DTR_on[4];              /* Leave DTR on for drop to DOS           */
  270. char        scroll_buffer[5];       /* Maximum lines for scroll back          */
  271. char        preload_text[4];        /* Pre-load PCBTEXT file                  */
  272. char        preload_cnames[4];      /* Pre-load CNAMES file                   */
  273. char        variable_level[5];      /* Level for usign @variable       */
  274. char        uploaded_by[4];         /* Include "Uploaded By"           */
  275. char        user_setting[4];        /* Show user settings at login     */
  276. char        local_shell[4];         /* Allow local F5 shells           */
  277. char        slave_card[4];          /* Using Slave card                */
  278. char        sub_length[6];          /* Default subscription length     */
  279. char        max_msgs[6];            /* MAX message capture             */
  280. char        max_msg_cnfn[6];        /* MAX message capture for cnfn    */
  281. char        stop_uploads[4];        /* Minutes prior to stop uploads   */
  282. char        edit_level[5];          /* Level to edit a message         */
  283. char        edit_your[5];           /* Level to edit your own message  */
  284. char        IRQ_share[4];           /* Share IRQ's                     */
  285. char        scan_all[4];            /* Default to scan all msgs at log */
  286. char        readonly_level[5];      /* Level  to use 'Read Only' cmd   */
  287. char        newask_user[4];         /* Use NEWASK plus standard        */
  288. char        temp_files[34];         /* Path/Locations of temp. files   */
  289. char        user_inf_file[34];      /* Path of user.inf file           */
  290. char        quick_deflt[4];         /* Default to Quick Scan           */
  291. char        warning_days[6];        /* Number of days for sub. warning */
  292. char        onenames[4];            /* Allow on name users             */
  293. char        expired_level[5];       /* Default expired level           */
  294. char        test_level[5];          /* Level for TEST command          */
  295. char        capture_file[10];       /* Message capture filename        */
  296. char        file_verify[4];         /* Perform file verification       */
  297. char        stop_clk[4];            /* Stop clock during msg dload     */
  298. char        page_start[7];          /* Sysop page time start           */
  299. char        page_stop[7];           /* Sysop page time end             */
  300. char        caller_number_log[4];   /* Write caller number to log      */
  301. char        caller_connect_log[4];  /* Write CONNECT string to log     */
  302. char        caller_level_log[4];    /* Write caller sec. level to log  */
  303. char        read_pwrd[4];           /* Read PWRD file upon joining CNF */
  304. char        confirm_caller[4];      /* Confirm caller at logon time    */
  305. char        pwrd_fail_cmt[4];       /* Allowed comment on failed pwrd  */
  306. char        warning_time[4];        /* Display warning before logoff   */
  307. char        max_file_desc[4];       /* MAX lines for file description  */
  308.  
  309. };
  310.  
  311. struct pcbdattyp pcboard_dat;
  312.  
  313. static  char    *dat_ptrs[198] = {
  314.     &pcboard_dat.pcb_version[0],
  315.     &pcboard_dat.sysop_name[0],
  316.     &pcboard_dat.sysop_pwrd[0],
  317.     &pcboard_dat.use_realname[0],
  318.     &pcboard_dat.use_graphics[0],
  319.     &pcboard_dat.comment_level[0],
  320.     &pcboard_dat.readall_level[0],
  321.     &pcboard_dat.sysop_level[0],
  322.     &pcboard_dat.msgcopy_level[0],
  323.     &pcboard_dat.callerlog_level[0],
  324.     &pcboard_dat.viewusers_level[0],
  325.     &pcboard_dat.msgpack_level[0],
  326.     &pcboard_dat.recover_level[0],
  327.     &pcboard_dat.header_level[0],
  328.     &pcboard_dat.system_level[0],
  329.     &pcboard_dat.maintenance_level[0],
  330.     &pcboard_dat.packusers_level[0],
  331.     &pcboard_dat.remote_level[0],
  332.     &pcboard_dat.shell_level[0],
  333.     &pcboard_dat.node_level[0],
  334.     &pcboard_dat.logoff_node_level[0],
  335.     &pcboard_dat.view_nodelog_level[0],
  336.     &pcboard_dat.dropnode_level[0],
  337.     &pcboard_dat.helpfiles[0],
  338.     &pcboard_dat.security_files[0],
  339.     &pcboard_dat.nodechat_files[0],
  340.     &pcboard_dat.pcbtext[0],
  341.     &pcboard_dat.index_file[0],
  342.     &pcboard_dat.users_file[0],
  343.     &pcboard_dat.caller_log[0],
  344.     &pcboard_dat.cnames_file[0],
  345.     &pcboard_dat.pwrd_file[0],
  346.     &pcboard_dat.fsec_file[0],
  347.     &pcboard_dat.upsec_file[0],
  348.     &pcboard_dat.tcan_file[0],
  349.     &pcboard_dat.welcome_file[0],
  350.     &pcboard_dat.newuser_file[0],
  351.     &pcboard_dat.closed_file[0],
  352.     &pcboard_dat.warning_file[0],
  353.     &pcboard_dat.expired_file[0],
  354.     &pcboard_dat.usernet_file[0],
  355.     &pcboard_dat.cnfn_menu[0],
  356.     &pcboard_dat.newask_file[0],
  357.     &pcboard_dat.newreg_file[0],
  358.     &pcboard_dat.pcbprot_file[0],
  359.     &pcboard_dat.dloadtxt_file[0],
  360.     &pcboard_dat.logoff_scr[0],
  361.     &pcboard_dat.logoff_answers[0],
  362.     &pcboard_dat.pcbml_file[0],
  363.     &pcboard_dat.chat_topic_file[0],
  364.     &pcboard_dat.carrier_time[0],
  365.     &pcboard_dat.comport[0],
  366.     &pcboard_dat.open_baud[0],
  367.     &pcboard_dat.lock_baud[0],
  368.     &pcboard_dat.modem_init[0],
  369.     &pcboard_dat.modem_offhk[0],
  370.     &pcboard_dat.cts_rts_check[0],
  371.     &pcboard_dat.hayes_modem[0],
  372.     &pcboard_dat.fastcomm_modem[0],
  373.     &pcboard_dat.rst_modem[0],
  374.     &pcboard_dat.modem_offhook[0],
  375.     &pcboard_dat.pad[0],
  376.     &pcboard_dat.ring_detect[0],
  377.     &pcboard_dat.allow_7E1[0],
  378.     &pcboard_dat.allow_low_baud[0],
  379.     &pcboard_dat.low_baud_start[0],
  380.     &pcboard_dat.low_baud_end[0],
  381.     &pcboard_dat.mesage_scan[0],
  382.     &pcboard_dat.scr_saver[0],
  383.     &pcboard_dat.reg_edit[0],
  384.     &pcboard_dat.high_ASCII[0],
  385.     &pcboard_dat.quick_logon[0],
  386.     &pcboard_dat.disable_pwrd[0],
  387.     &pcboard_dat.multi_lingual[0],
  388.     &pcboard_dat.full_update[0],
  389.     &pcboard_dat.closed_board[0],
  390.     &pcboard_dat.non_graphic[0],
  391.     &pcboard_dat.exit_DOS[0],
  392.     &pcboard_dat.display_city[0],
  393.     &pcboard_dat.snow_chk[0],
  394.     &pcboard_dat.subscription_mode[0],
  395.     &pcboard_dat.ESC_code[0],
  396.     &pcboard_dat.carbon_msgs[0],
  397.     &pcboard_dat.validate_msg[0],
  398.     &pcboard_dat.not_used[0],
  399.     &pcboard_dat.daily_time_on[0],
  400.     &pcboard_dat.NEWS_disaply[0],
  401.     &pcboard_dat.disable_CTS[0],
  402.     &pcboard_dat.keyboard_tmr[0],
  403.     &pcboard_dat.Network_syst[0],
  404.     &pcboard_dat.Node_number[0],
  405.     &pcboard_dat.Network_tmr[0],
  406.     &pcboard_dat.Node_chattmr[0],
  407.     &pcboard_dat.board_name[0],
  408.     &pcboard_dat.pcbview_file[0],
  409.     &pcboard_dat.cmpr_method[0],
  410.     &pcboard_dat.function_key1[0],
  411.     &pcboard_dat.function_key2[0],
  412.     &pcboard_dat.function_key3[0],
  413.     &pcboard_dat.function_key4[0],
  414.     &pcboard_dat.function_key5[0],
  415.     &pcboard_dat.function_key6[0],
  416.     &pcboard_dat.function_key7[0],
  417.     &pcboard_dat.function_key8[0],
  418.     &pcboard_dat.function_key9[0],
  419.     &pcboard_dat.function_key10[0],
  420.     &pcboard_dat.not_used3[0],
  421.     &pcboard_dat.high_conference[0],
  422.     &pcboard_dat.max_lines[0],
  423.     &pcboard_dat.default_color[0],
  424.     &pcboard_dat.default_intensity[0],
  425.     &pcboard_dat.event_active[0],
  426.     &pcboard_dat.event_start[0],
  427.     &pcboard_dat.suspend_mins[0],
  428.     &pcboard_dat.upload_allowed[0],
  429.     &pcboard_dat.slide_event[0],
  430.     &pcboard_dat.upload_buffer[0],
  431.     &pcboard_dat.disable_check[0],
  432.     &pcboard_dat.printer_port[0],
  433.     &pcboard_dat.disable_bytes[0],
  434.     &pcboard_dat.abandon_level[0],
  435.     &pcboard_dat.bulletin_level[0],
  436.     &pcboard_dat.comment_msg_level[0],
  437.     &pcboard_dat.dload_level[0],
  438.     &pcboard_dat.message_level[0],
  439.     &pcboard_dat.file_level[0],
  440.     &pcboard_dat.not_used2[0],
  441.     &pcboard_dat.help_level[0],
  442.     &pcboard_dat.initial_level[0],
  443.     &pcboard_dat.join_level[0],
  444.     &pcboard_dat.kill_level[0],
  445.     &pcboard_dat.locate_level[0],
  446.     &pcboard_dat.mode_level[0],
  447.     &pcboard_dat.filescan_level[0],
  448.     &pcboard_dat.operator_page_level[0],
  449.     &pcboard_dat.page_length_level[0],
  450.     &pcboard_dat.quick_scan_level[0],
  451.     &pcboard_dat.read_msg_level[0],
  452.     &pcboard_dat.script_level[0],
  453.     &pcboard_dat.xfer_protocol[0],
  454.     &pcboard_dat.upload_level[0],
  455.     &pcboard_dat.view_level[0],
  456.     &pcboard_dat.write_level[0],
  457.     &pcboard_dat.expert_level[0],
  458.     &pcboard_dat.your_level[0],
  459.     &pcboard_dat.zippy_level[0],
  460.     &pcboard_dat.door_level[0],
  461.     &pcboard_dat.chat_level[0],
  462.     &pcboard_dat.register_level[0],
  463.     &pcboard_dat.refused_level[0],
  464.     &pcboard_dat.users_level[0],
  465.     &pcboard_dat.who_level[0],
  466.     &pcboard_dat.batch_level[0],
  467.     &pcboard_dat.color_defaults[0],
  468.     &pcboard_dat.lowest_baud[0],
  469.     &pcboard_dat.modem_delay[0],
  470.     &pcboard_dat.number_rings[0],
  471.     &pcboard_dat.IRQ_number[0],
  472.     &pcboard_dat.port_base[0],
  473.     &pcboard_dat.DTR_on[0],
  474.     &pcboard_dat.scroll_buffer[0],
  475.     &pcboard_dat.preload_text[0],
  476.     &pcboard_dat.preload_cnames[0],
  477.     &pcboard_dat.variable_level[0],
  478.     &pcboard_dat.uploaded_by[0],
  479.     &pcboard_dat.user_setting[0],
  480.     &pcboard_dat.local_shell[0],
  481.     &pcboard_dat.slave_card[0],
  482.     &pcboard_dat.sub_length[0],
  483.     &pcboard_dat.max_msgs[0],
  484.     &pcboard_dat.max_msg_cnfn[0],
  485.     &pcboard_dat.stop_uploads[0],
  486.     &pcboard_dat.edit_level[0],
  487.     &pcboard_dat.edit_your[0],
  488.     &pcboard_dat.IRQ_share[0],
  489.     &pcboard_dat.scan_all[0],
  490.     &pcboard_dat.readonly_level[0],
  491.     &pcboard_dat.newask_user[0],
  492.     &pcboard_dat.temp_files[0],
  493.     &pcboard_dat.user_inf_file[0],
  494.     &pcboard_dat.quick_deflt[0],
  495.     &pcboard_dat.warning_days[0],
  496.     &pcboard_dat.onenames[0],
  497.     &pcboard_dat.expired_level[0],
  498.     &pcboard_dat.test_level[0],
  499.     &pcboard_dat.capture_file[0],
  500.     &pcboard_dat.file_verify[0],
  501.     &pcboard_dat.stop_clk[0],
  502.     &pcboard_dat.page_start[0],
  503.     &pcboard_dat.page_stop[0],
  504.     &pcboard_dat.caller_number_log[0],
  505.     &pcboard_dat.caller_connect_log[0],
  506.     &pcboard_dat.caller_level_log[0],
  507.     &pcboard_dat.read_pwrd[0],
  508.     &pcboard_dat.confirm_caller[0],
  509.     &pcboard_dat.pwrd_fail_cmt[0],
  510.     &pcboard_dat.warning_time[0],
  511.     &pcboard_dat.max_file_desc[0],
  512. };
  513.  
  514. unsigned char pcb_maxbytes[198] = {
  515.     sizeof(pcboard_dat.pcb_version),
  516.     sizeof(pcboard_dat.sysop_name),
  517.     sizeof(pcboard_dat.sysop_pwrd),
  518.     sizeof(pcboard_dat.use_realname),
  519.     sizeof(pcboard_dat.use_graphics),
  520.     sizeof(pcboard_dat.comment_level),
  521.     sizeof(pcboard_dat.readall_level),
  522.     sizeof(pcboard_dat.sysop_level),
  523.     sizeof(pcboard_dat.msgcopy_level),
  524.     sizeof(pcboard_dat.callerlog_level),
  525.     sizeof(pcboard_dat.viewusers_level),
  526.     sizeof(pcboard_dat.msgpack_level),
  527.     sizeof(pcboard_dat.recover_level),
  528.     sizeof(pcboard_dat.header_level),
  529.     sizeof(pcboard_dat.system_level),
  530.     sizeof(pcboard_dat.maintenance_level),
  531.     sizeof(pcboard_dat.packusers_level),
  532.     sizeof(pcboard_dat.remote_level),
  533.     sizeof(pcboard_dat.shell_level),
  534.     sizeof(pcboard_dat.node_level),
  535.     sizeof(pcboard_dat.logoff_node_level),
  536.     sizeof(pcboard_dat.view_nodelog_level),
  537.     sizeof(pcboard_dat.dropnode_level),
  538.     sizeof(pcboard_dat.helpfiles),
  539.     sizeof(pcboard_dat.security_files),
  540.     sizeof(pcboard_dat.nodechat_files),
  541.     sizeof(pcboard_dat.pcbtext),
  542.     sizeof(pcboard_dat.index_file),
  543.     sizeof(pcboard_dat.users_file),
  544.     sizeof(pcboard_dat.caller_log),
  545.     sizeof(pcboard_dat.cnames_file),
  546.     sizeof(pcboard_dat.pwrd_file),
  547.     sizeof(pcboard_dat.fsec_file),
  548.     sizeof(pcboard_dat.upsec_file),
  549.     sizeof(pcboard_dat.tcan_file),
  550.     sizeof(pcboard_dat.welcome_file),
  551.     sizeof(pcboard_dat.newuser_file),
  552.     sizeof(pcboard_dat.closed_file),
  553.     sizeof(pcboard_dat.warning_file),
  554.     sizeof(pcboard_dat.expired_file),
  555.     sizeof(pcboard_dat.usernet_file),
  556.     sizeof(pcboard_dat.cnfn_menu),
  557.     sizeof(pcboard_dat.newask_file),
  558.     sizeof(pcboard_dat.newreg_file),
  559.     sizeof(pcboard_dat.pcbprot_file),
  560.     sizeof(pcboard_dat.dloadtxt_file),
  561.     sizeof(pcboard_dat.logoff_scr),
  562.     sizeof(pcboard_dat.logoff_answers),
  563.     sizeof(pcboard_dat.pcbml_file),
  564.     sizeof(pcboard_dat.chat_topic_file),
  565.     sizeof(pcboard_dat.carrier_time),
  566.     sizeof(pcboard_dat.comport),
  567.     sizeof(pcboard_dat.open_baud),
  568.     sizeof(pcboard_dat.lock_baud),
  569.     sizeof(pcboard_dat.modem_init),
  570.     sizeof(pcboard_dat.modem_offhk),
  571.     sizeof(pcboard_dat.cts_rts_check),
  572.     sizeof(pcboard_dat.hayes_modem),
  573.     sizeof(pcboard_dat.fastcomm_modem),
  574.     sizeof(pcboard_dat.rst_modem),
  575.     sizeof(pcboard_dat.modem_offhook),
  576.     sizeof(pcboard_dat.pad),
  577.     sizeof(pcboard_dat.ring_detect),
  578.     sizeof(pcboard_dat.allow_7E1),
  579.     sizeof(pcboard_dat.allow_low_baud),
  580.     sizeof(pcboard_dat.low_baud_start),
  581.     sizeof(pcboard_dat.low_baud_end),
  582.     sizeof(pcboard_dat.mesage_scan),
  583.     sizeof(pcboard_dat.scr_saver),
  584.     sizeof(pcboard_dat.reg_edit),
  585.     sizeof(pcboard_dat.high_ASCII),
  586.     sizeof(pcboard_dat.quick_logon),
  587.     sizeof(pcboard_dat.disable_pwrd),
  588.     sizeof(pcboard_dat.multi_lingual),
  589.     sizeof(pcboard_dat.full_update),
  590.     sizeof(pcboard_dat.closed_board),
  591.     sizeof(pcboard_dat.non_graphic),
  592.     sizeof(pcboard_dat.exit_DOS),
  593.     sizeof(pcboard_dat.display_city),
  594.     sizeof(pcboard_dat.snow_chk),
  595.     sizeof(pcboard_dat.subscription_mode),
  596.     sizeof(pcboard_dat.ESC_code),
  597.     sizeof(pcboard_dat.carbon_msgs),
  598.     sizeof(pcboard_dat.validate_msg),
  599.     sizeof(pcboard_dat.not_used),
  600.     sizeof(pcboard_dat.daily_time_on),
  601.     sizeof(pcboard_dat.NEWS_disaply),
  602.     sizeof(pcboard_dat.disable_CTS),
  603.     sizeof(pcboard_dat.keyboard_tmr),
  604.     sizeof(pcboard_dat.Network_syst),
  605.     sizeof(pcboard_dat.Node_number),
  606.     sizeof(pcboard_dat.Network_tmr),
  607.     sizeof(pcboard_dat.Node_chattmr),
  608.     sizeof(pcboard_dat.board_name),
  609.     sizeof(pcboard_dat.pcbview_file),
  610.     sizeof(pcboard_dat.cmpr_method),
  611.     sizeof(pcboard_dat.function_key1),
  612.     sizeof(pcboard_dat.function_key2),
  613.     sizeof(pcboard_dat.function_key3),
  614.     sizeof(pcboard_dat.function_key4),
  615.     sizeof(pcboard_dat.function_key5),
  616.     sizeof(pcboard_dat.function_key6),
  617.     sizeof(pcboard_dat.function_key7),
  618.     sizeof(pcboard_dat.function_key8),
  619.     sizeof(pcboard_dat.function_key9),
  620.     sizeof(pcboard_dat.function_key10),
  621.     sizeof(pcboard_dat.not_used3),
  622.     sizeof(pcboard_dat.high_conference),
  623.     sizeof(pcboard_dat.max_lines),
  624.     sizeof(pcboard_dat.default_color),
  625.     sizeof(pcboard_dat.default_intensity),
  626.     sizeof(pcboard_dat.event_active),
  627.     sizeof(pcboard_dat.event_start),
  628.     sizeof(pcboard_dat.suspend_mins),
  629.     sizeof(pcboard_dat.upload_allowed),
  630.     sizeof(pcboard_dat.slide_event),
  631.     sizeof(pcboard_dat.upload_buffer),
  632.     sizeof(pcboard_dat.disable_check),
  633.     sizeof(pcboard_dat.printer_port),
  634.     sizeof(pcboard_dat.disable_bytes),
  635.     sizeof(pcboard_dat.abandon_level),
  636.     sizeof(pcboard_dat.bulletin_level),
  637.     sizeof(pcboard_dat.comment_msg_level),
  638.     sizeof(pcboard_dat.dload_level),
  639.     sizeof(pcboard_dat.message_level),
  640.     sizeof(pcboard_dat.file_level),
  641.     sizeof(pcboard_dat.not_used2),
  642.     sizeof(pcboard_dat.help_level),
  643.     sizeof(pcboard_dat.initial_level),
  644.     sizeof(pcboard_dat.join_level),
  645.     sizeof(pcboard_dat.kill_level),
  646.     sizeof(pcboard_dat.locate_level),
  647.     sizeof(pcboard_dat.mode_level),
  648.     sizeof(pcboard_dat.filescan_level),
  649.     sizeof(pcboard_dat.operator_page_level),
  650.     sizeof(pcboard_dat.page_length_level),
  651.     sizeof(pcboard_dat.quick_scan_level),
  652.     sizeof(pcboard_dat.read_msg_level),
  653.     sizeof(pcboard_dat.script_level),
  654.     sizeof(pcboard_dat.xfer_protocol),
  655.     sizeof(pcboard_dat.upload_level),
  656.     sizeof(pcboard_dat.view_level),
  657.     sizeof(pcboard_dat.write_level),
  658.     sizeof(pcboard_dat.expert_level),
  659.     sizeof(pcboard_dat.your_level),
  660.     sizeof(pcboard_dat.zippy_level),
  661.     sizeof(pcboard_dat.door_level),
  662.     sizeof(pcboard_dat.chat_level),
  663.     sizeof(pcboard_dat.register_level),
  664.     sizeof(pcboard_dat.refused_level),
  665.     sizeof(pcboard_dat.users_level),
  666.     sizeof(pcboard_dat.who_level),
  667.     sizeof(pcboard_dat.batch_level),
  668.     sizeof(pcboard_dat.color_defaults),
  669.     sizeof(pcboard_dat.lowest_baud),
  670.     sizeof(pcboard_dat.modem_delay),
  671.     sizeof(pcboard_dat.number_rings),
  672.     sizeof(pcboard_dat.IRQ_number),
  673.     sizeof(pcboard_dat.port_base),
  674.     sizeof(pcboard_dat.DTR_on),
  675.     sizeof(pcboard_dat.scroll_buffer),
  676.     sizeof(pcboard_dat.preload_text),
  677.     sizeof(pcboard_dat.preload_cnames),
  678.     sizeof(pcboard_dat.variable_level),
  679.     sizeof(pcboard_dat.uploaded_by),
  680.     sizeof(pcboard_dat.user_setting),
  681.     sizeof(pcboard_dat.local_shell),
  682.     sizeof(pcboard_dat.slave_card),
  683.     sizeof(pcboard_dat.sub_length),
  684.     sizeof(pcboard_dat.max_msgs),
  685.     sizeof(pcboard_dat.max_msg_cnfn),
  686.     sizeof(pcboard_dat.stop_uploads),
  687.     sizeof(pcboard_dat.edit_level),
  688.     sizeof(pcboard_dat.edit_your),
  689.     sizeof(pcboard_dat.IRQ_share),
  690.     sizeof(pcboard_dat.scan_all),
  691.     sizeof(pcboard_dat.readonly_level),
  692.     sizeof(pcboard_dat.newask_user),
  693.     sizeof(pcboard_dat.temp_files),
  694.     sizeof(pcboard_dat.user_inf_file),
  695.     sizeof(pcboard_dat.quick_deflt),
  696.     sizeof(pcboard_dat.warning_days),
  697.     sizeof(pcboard_dat.onenames),
  698.     sizeof(pcboard_dat.expired_level),
  699.     sizeof(pcboard_dat.test_level),
  700.     sizeof(pcboard_dat.capture_file),
  701.     sizeof(pcboard_dat.file_verify),
  702.     sizeof(pcboard_dat.stop_clk),
  703.     sizeof(pcboard_dat.page_start),
  704.     sizeof(pcboard_dat.page_stop),
  705.     sizeof(pcboard_dat.caller_number_log),
  706.     sizeof(pcboard_dat.caller_connect_log),
  707.     sizeof(pcboard_dat.caller_level_log),
  708.     sizeof(pcboard_dat.read_pwrd),
  709.     sizeof(pcboard_dat.confirm_caller),
  710.     sizeof(pcboard_dat.pwrd_fail_cmt),
  711.     sizeof(pcboard_dat.warning_time),
  712.     sizeof(pcboard_dat.max_file_desc)
  713. };
  714.  
  715. /****************************************************************************
  716.  ************************ E N D  OF  M O D U L E ****************************/
  717.  
  718.